package com.bj58.ecdata.dao.basedao;

import java.util.List;
import java.util.Map;

public abstract interface IDAO
{
  public abstract Object insert(Object paramObject)
    throws Exception;
  
  public abstract void upateEntity(Object paramObject)
    throws Exception;
  
  public abstract <T,I> void upateByID(Class<T> paramClass, String paramString, I paramI)
    throws Exception;
  
  public abstract <T> void updateByCustom(Class<T> paramClass, String paramString1, String paramString2)
    throws Exception;
  
  public abstract <T> void updateByCustom(Class<T> paramClass, Map<String, Object> paramMap1, Map<String, Object> paramMap2)
    throws Exception;
  
  public abstract <T,I> void deleteByID(Class<T> paramClass, I paramI)
    throws Exception;
  
  public abstract <T,I> void deleteByIDS(Class<T> paramClass, I[] paramArrayOfI)
    throws Exception;
  
  public abstract <T> void deleteByCustom(Class<T> paramClass, String paramString)
    throws Exception;
  
  public abstract <T> void deleteByCustom(Class<T> paramClass, Map<String, Object> paramMap)
    throws Exception;
  
  public abstract <T,I> Object get(Class<T> paramClass, I paramI)
    throws Exception;
  
  public abstract <T, I> List<T> getListByIDS(Class<T> paramClass, I[] paramArrayOfI)
    throws Exception;
  
  public abstract <T> List<T> getListByCustom(Class<T> paramClass, String tableSuffix, String paramString1, String paramString2, String paramString3)
    throws Exception;
  
  public abstract <T> List<T> getListByCustom(Class<T> paramClass,String tableSuffix, String paramString1, Map<String, Object> paramMap, String paramString2)
    throws Exception;
  
  public abstract <T> List<T> getListByPage(Class<T> paramClass,String tableSuffix, String paramString1, String paramString2, int paramInt1, int paramInt2, String paramString3)
    throws Exception;
  
  public abstract <T> List<T> getListByPage(Class<T> paramClass,String tableSuffix, Map<String, Object> paramMap, String paramString1, int paramInt1, int paramInt2, String paramString2)
    throws Exception;
  
  public abstract <T> int getCount(Class<T> paramClass,String tableSuffix, String paramString)
    throws Exception;
  
  public abstract <T> int getCount(Class<T> paramClass,String tableSuffix, Map<String, Object> paramMap)
    throws Exception;
  
  public abstract Object insert(Object paramObject, int paramInt)
    throws Exception;
  
  public abstract void upateEntity(Object paramObject, int paramInt)
    throws Exception;
  
  public abstract <T,I> void upateByID(Class<T> paramClass, String paramString, I paramI, int paramInt)
    throws Exception;
  
  public abstract <T> void updateByCustom(Class<T> paramClass, String paramString1, String paramString2, int paramInt)
    throws Exception;
  
  public abstract <T> void updateByCustom(Class<T> paramClass, Map<String, Object> paramMap1, Map<String, Object> paramMap2, int paramInt)
    throws Exception;
  
  public abstract <T,I> void deleteByID(Class<T> paramClass, I paramI, int paramInt)
    throws Exception;
  
  public abstract <T,I> void deleteByIDS(Class<T> paramClass, I[] paramArrayOfI, int paramInt)
    throws Exception;
  
  public abstract <T> void deleteByCustom(Class<T> paramClass, String paramString, int paramInt)
    throws Exception;
  
  public abstract <T> void deleteByCustom(Class<T> paramClass, Map<String, Object> paramMap, int paramInt)
    throws Exception;
  
  public abstract <T,I> Object get(Class<T> paramClass, I paramI, int paramInt)
    throws Exception;
  
  public abstract <T, I> List<T> getListByIDS(Class<T> paramClass, I[] paramArrayOfI, int paramInt)
    throws Exception;
  
  public abstract <T> List<T> getListByCustom(Class<T> paramClass,String tableSuffix, String paramString1, String paramString2, String paramString3, int paramInt)
    throws Exception;
  
  public abstract <T> List<T> getListByCustom(Class<T> paramClass,String tableSuffix, String paramString1, Map<String, Object> paramMap, String paramString2, int paramInt)
    throws Exception;
  
  public abstract <T> List<T> getListByPage(Class<T> paramClass,String tableSuffix, String paramString1, String paramString2, int paramInt1, int paramInt2, String paramString3, int paramInt3)
    throws Exception;
  
  public abstract <T> List<T> getListByPage(Class<T> paramClass,String tableSuffix, Map<String, Object> paramMap, String paramString1, int paramInt1, int paramInt2, String paramString2, int paramInt3)
    throws Exception;
  
  public abstract <T> int getCount(Class<T> paramClass, String tableSuffix, String paramString, int paramInt)
    throws Exception;
  
  public abstract <T> int getCount(Class<T> paramClass,String tableSuffix,  Map<String, Object> paramMap, int paramInt)
    throws Exception;
  
  public abstract <T> List<T> getListBySQL(Class<T> paramClass, String paramString, Object... paramVarArgs)
    throws Exception;
  
  public abstract <T> List<T> getListBySQL(Class<T> paramClass, String paramString, int paramInt, Object... paramVarArgs)
    throws Exception;
  
  public abstract int execBySQL(String paramString, Object... paramVarArgs)
    throws Exception;
  
  public abstract int execBySQL(String paramString, int paramInt, Object... paramVarArgs)
    throws Exception;
  
  public abstract int getCountBySQL(String paramString, Object... paramVarArgs)
    throws Exception;
  
  public abstract int getCountBySQL(String paramString, int paramInt, Object... paramVarArgs)
    throws Exception;
  
  @Deprecated
  public abstract List<Object[]> customSql(String paramString, int paramInt)
    throws Exception;
  
  @Deprecated
  public abstract void customSqlNoReturn(String paramString)
    throws Exception;
  
  @Deprecated
  public abstract List<Object[]> customSql(String paramString, int paramInt1, int paramInt2)
    throws Exception;
  
  @Deprecated
  public abstract void customSqlNoReturn(String paramString, int paramInt)
    throws Exception;
}

